package com.zhengjiang.pattern.demo.observer;

import java.util.ArrayList;
import java.util.List;

/**
 * 被观察者
 */
public class MessageNotice implements ISubject {

    private List<Observer> list = new ArrayList<>();

    /**
     * 添加观察者
     * @param observer
     */
    @Override
    public void addObserver(Observer observer) {
        list.add(observer);
    }

    /**
     * 删除观察者
     * @param observer
     */
    @Override
    public void delObserver(Observer observer) {
        list.remove(observer);
    }

    /**通知观察者*/
    @Override
    public void notifyObserver(String message) {
        list.stream().forEach(o->o.receiveMessage(message));
    }
}
